package br.unesp.rc.lcpjcontacts.model.dao;

import br.unesp.rc.lcpjcontacts.exceptions.PessoaInexistenteException;
import br.unesp.rc.lcpjcontacts.model.bean.Pessoa;


/**
 * A interface PessoaDAO.
 */
public interface PessoaDAO {
	
	/**
	 * Criar ou atualizar pessoa.
	 *
	 * @param p a pessoa p 
	 * @return a pessoa
	 */
	public Pessoa criarOuAtualizarPessoa(Pessoa p);
	
	/**
	 * Buscar pessoa.
	 *
	 * @param idPessoa o id pessoa
	 * @return a pessoa
	 */
	public Pessoa buscarPessoa(Long idPessoa);
	
	/**
	 * Remover pessoa.
	 *
	 * @param idPessoa o id pessoa
	 * @return true, se tiver exito
	 * @throws PessoaInexistenteException exception para pessoa inexistente
	 */
	public boolean removerPessoa(Long idPessoa) throws PessoaInexistenteException;

}